﻿using JT808.Protocol.Attributes;
using JT808.Protocol.Formatters.MessageBodyFormatters;
using System;
using System.Collections.Generic;

namespace JT808.Protocol.MessageBody
{
    [JT808Formatter(typeof(JT808_0x0900_Formatter))]

    public class JT808_0x0900 : JT808Bodies
    {
        /// <summary>
        /// 胎压数据透传ID
        /// </summary>
        public byte transmission { get; set; }

        /// <summary>
        /// 胎压设备型号
        /// </summary>
        public byte equipmentmodel { get; set; }

        /// <summary>
        /// 轮胎总数量
        /// </summary>
        public int? tyresnumber { get; set; }

        /// <summary>
        /// 接收机ID
        /// </summary>
        public string machineid { get; set; }

        /// <summary>
        /// 维度
        /// </summary>
        public decimal? latitude { get; set; }

        /// <summary>
        /// 经度
        /// </summary>
        public decimal? longitude { get; set; }

        /// <summary>
        /// gps时间
        /// </summary>
        public DateTime? createtime { get; set; }

        /// <summary>
        /// 轮胎列表
        /// </summary>
        public List<JT808_0x0900_Sub> list { get; set; }

    }

    public class JT808_0x0900_Sub
    {
        /// <summary>
        /// 轮胎位置
        /// </summary>
        public int? tyreposition { get; set; }

        /// <summary>
        /// 传感器ID
        /// </summary>
        public string sensorid { get; set; }

        /// <summary>
        /// 是否安装轮胎防爆
        /// </summary>
        public bool? isinstallexplosionproof { get; set; }

        /// <summary>
        /// 防爆装置是否脱落
        /// </summary>
        public bool? islossexplosionproof { get; set; }

        /// <summary>
        /// 传感器电池电压
        /// </summary>
        public decimal? powervalue { get; set; }

        /// <summary>
        /// 压力值
        /// </summary>
        public decimal? pressvalue { get; set; }

        /// <summary>
        /// 温度值
        /// </summary>
        public decimal? temperaturevalue { get; set; }

        /// <summary>
        /// 是否电压低
        /// </summary>
        public bool? ispowerinvalue { get; set; }

        /// <summary>
        /// 是否60分钟未收到发射器数据
        /// </summary>
        public bool? isnogetsender { get; set; }

        /// <summary>
        /// 传感器为运动状态
        /// </summary>
        public bool? isproofrun { get; set; }

        /// <summary>
        /// 是否气压高
        /// </summary>
        public bool? ispresshigh { get; set; }

        /// <summary>
        /// 是否气压低
        /// </summary>
        public bool? ispresslower { get; set; }

        /// <summary>
        /// 是否温度高
        /// </summary>
        public bool? istemperaturehigh { get; set; }

        /// <summary>
        /// 气压状态
        /// </summary>
        public int statusNow { get; set; }
    }
}
